Data in a storage device may be backed up at different points-in-time to allow restoration of data to a saved point-in-time as part of a process referred to as checkpointing. Operating system checkpointing involves the operating system storing prior versions of updated data to create restore points or checkpoints to allow the user to return the state of the data to that checkpoint. However, operating system checkpointing is susceptible to malware attacks that can attack the operating system and application files to corrupt the checkpoint data to prevent the user from restoring data to a point before the malware was installed. Further, operating system based checkpointing is susceptible to other software interference and anti-virus programs must be disabled for checkpointing to work properly.
Virtual Machine checkpointing involves the virtual machine monitoring for changes and storing prior versions of updated data to allow restoring the state of the virtual machine to a checkpoint time. Virtual machine checkpointing is also susceptible to malware attacks.
System backups comprise a backup of all the data in a drive as of a checkpoint time to another partition on the storage device or another storage device. System backups run on the host system and consume significant host resources, which may result in performance degradation at the host system. Further, host based system backups are often slow and require substantial time to backup and restore.
There is a need in the art to provide improved solutions for taking checkpoints of data written to a storage device.